a {
  font-weight: 500;
  color: #646cff;
  text-decoration: inherit;
}
a:hover {
  color: #535bf2;
}

body {
  margin: 0;
  display: flex;
  place-items: center;
  min-width: 100%;
  min-height: 100vh;

  font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;
  line-height: 1.5;
  font-weight: 400;

  color-scheme: light dark;
  color: rgba(255, 255, 255, 0.87);
  background-color: #242424;

  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

button {
  border: 1px solid transparent;
  padding: var(--td-button-padding);
  margin-left: 1rem;
  font-weight: 500;
  font-family: inherit;
  cursor: pointer;
  
  background-color: #3498db;
  color: white;
  border: none;
  border-radius: 4px;
  transition: background-color 0.3s ease;
}
button:hover {
  border-color: #646cff;
}
button:focus,
button:focus-visible {
  outline: 4px auto -webkit-focus-ring-color;
}

.card {
  padding: 2em;
}

#app {
  width: 100%;
  height: 100vh;
  text-align: center;
}
.MV {
  height: 88%;
  width: 100%;
  margin: 0;
  object-fit: cover;
}
.main {
  height: 50%;
  padding: var(--td-padding);
  margin-top: 1rem;
}
.header {
  height: 12%;
  padding: var(--td-padding);
  margin: 0;
  z-index: 999;
}
.player-module {
  height: 15%;
  padding: var(--td-padding);
}
.footer {
  height: 5%;
  padding: var(--td-padding);
  margin-left: -1rem;
  margin-top: 1rem;
  margin-bottom: 1rem;
  z-index: 999;
  bottom: 0;
  display: grid;
  grid-template-columns: var(--td-columns);
  justify-items: start;
}
.title {
  text-align: center;
  font-weight: 800;
  background: url('@/assets/img/icon_hot_recommand_title_bg.png');
  padding: 1rem 0;
  height: 7%;
}
.main-content {
  background: url('@/assets/img/icon_hot_recommand_bg.webp') no-repeat center center fixed;
  background-size: cover;
  height: 100%;
}

@media (max-width: 599px) {
  body {
    font-size: 1rem;
  }

  :root {
    --td-columns: repeat(1, minmax(0, 1fr));
    --td-padding: 0 1rem;
    --td-button-padding: 0.2rem 0.6rem;
    --td-krc-font-size: 1.5rem;
    --td-krc-h: 108px;
  }
}

@media (min-width: 600px) and (max-width: 799px) {
  body {
    font-size: 1.5rem;
  }

  :root {
    --td-columns: repeat(1, minmax(0, 1fr));
    --td-padding: 0 1rem;
    --td-button-padding: 0.2rem 0.6rem;
    --td-krc-font-size: 2rem;
    --td-krc-h: 144px;
  }
}

@media (min-width: 800px) and (max-width: 1199px) {
  body {
    font-size: 1.8rem;
  }

  :root {
    --td-columns: repeat(1, minmax(0, 1fr));
    --td-padding: 0 2rem;
    --td-button-padding: 0.5rem 1.6rem;
    --td-krc-font-size: 2.3rem;
    --td-krc-h: 165px;
  }
}

@media (min-width: 1200px) and (max-width: 1399px) {
  body {
    font-size: 2.2rem;
  }

  :root {
    --td-columns: repeat(2, minmax(0, 1fr));
    --td-padding: 0 2rem;
    --td-button-padding: 0.5rem 1.6rem;
    --td-krc-font-size: 2.7rem;
    --td-krc-h: 194px;
  }
}

/* 超大屏幕设备（如台式电脑） */
@media (min-width: 1400px) {
  body {
    font-size: 2.7rem;
  }

  :root {
    --td-columns: repeat(2, minmax(0, 1fr));
    --td-padding: 0 2rem;
    --td-button-padding: 0.5rem 1.6rem;
    --td-krc-font-size: 3.2rem;
    --td-krc-h: 240px;
  }
}